var express = require('express')
var User = require('./models/user')
var UserFavorites = require('./models/userfavorites.js')
var md5 = require('blueimp-md5')
var router = express.Router()

router.get('/post', function (req, res) {
	res.json({
		status: 0,
		message: [{
			id: 1,
			name: "ag"
		}]
	})
})
//所有用户
router.get('/loginAll', function (req, res) {
	let { page, size } = req.query
	User.find((err, data) => {
		if (err) {
			return res.end('Server Error')
		}
		if (data.length < page * size) {
			mysize = undefined
		} else {
			mysize = size
		}
		let mydata
		if (mysize) {
			mydata = data.slice((page - 1) * size, (page - 1) * size + parseInt(mysize))
		} else {
			mydata = data.slice((page - 1) * size)
		}
		res.json({
			status: 0,
			message: {
				data: mydata,
				total: data.length
			}
		})
	})
})

//用户登录
router.post('/login', function (req, res, next) {
	var body = req.body
	User.findOne({
		email: body.nickname,
		password: md5(md5(body.password))
	}, function (err, user) {
		if (err) {
			/* return res.status(500).json({
				err_code: 500,
				message: err.message
				
			}) */
			return next(err)
		}

		if (!user) {
			return res.status(200).json({
				err_code: 1,
				message: 'nickname or password error'
			})
		}
		console.log(user)
		res.status(200).json({
			err_code: 0,
			message: {
				user: user,
				toast: '登录成功'
			}
		})
	})
})

router.post('/del', function (req, res) {
	User.deleteOne({
		nickname: req.body.nickname
	}, function (err, ret) {
		console.log(err, ret);
		if (err) {
			res.json({
				status: 400,
				message: err
			})
		} else {
			res.json({
				status: 0,
				message: '删除成功'
			})
		}
	})
})
// //根据条件更新所有
// User.update({username:'ag'},{
// 	password:'1234'
// },function(err,ret){
// 	if(err){
// 		console.log('更新失败')
// 	}else{
// 		console.log('更新成功')
// 	}
// })
router.post('/update', function (req, res) {
	console.log(req.body);
	User.update({ _id: req.body._id },
		req.body
		, function (err, ret) {
			if (err) {
				res.status(500).json({
					err_code: 500,
					message: '系统内部错误，请稍后重试！！！'
				})
			} else {
				res.json({
					status:0,
					message: '修改成功'
				})
			}
		})
})

//注册新用户
router.post('/register', function (req, res) {
	var body = req.body
	console.log(body)
	/* res.json({
		status:0,
			message:body
		}) */
	User.findOne({
		$or: [{
			email: body.email
		},
		{
			nickname: body.nickname
		}
		]
	}, function (err, data) {
		if (err) {
			return res.status(500).json({
				error: 500,
				message: '服务端错误'
			})
		}
		if (data) {
			return res.status(200).json({
				err_code: 1,
				message: 'Email or nickname aleady.'
			})
		}
		body.password = md5(md5(body.password))
		new User(body).save(function (err, user) {
			if (err) {
				return res.status(500).json({
					err_code: 500,
					message: 'Internal error'
				})
			}
			// console.log('ok')
			res.json({
				status: 0,
				message: '注册成功'
			})
		})


	})
})

//商品收藏信息导出
router.post('/favorites', function (req, res) {
	var body = req.body
	UserFavorites.find({
		ids: body.id
	}, function (err, userfavorites) {
		if (err) {
			/* return res.status(500).json({
				err_code: 500,
				message: err.message
				
			}) */
			return next(err)
		}

		if (!userfavorites) {
			return res.status(200).json({
				err_code: 1,
				message: '收藏夹数据为空'
			})
		}
		console.log(userfavorites)
		res.status(200).json({
			err_code: 0,
			message: {
				userfavorites: userfavorites,
				toast: '数据请求成功'
			}
		})
	})
})

//商品收藏导入
router.post('/list', function (req, res) {
	var body = req.body
	console.log(body)
	UserFavorites.findOne({
		title: body.title
	}, function (err, data) {
		if (err) {
			return res.status(500).json({
				error: 500,
				message: '服务端错误'
			})
		}
		if (data) {
			return res.status(200).json({
				err_code: 1,
				message: '商品已存在.'
			})
		}
		new UserFavorites(body).save(function (err, user) {
			if (err) {
				return res.status(500).json({
					err_code: 500,
					message: 'Internal error'
				})
			}
			// console.log('ok')
			res.status(200).json({
				err_code: 0,
				message: '添加成功'
			})
		})


	})

})


module.exports = router
